package editorsvg.editor.herramientas;

import editorsvg.editor.cursores.Cursores;
import editorsvg.editor.vista.EditorDocumento;
import java.awt.Cursor;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.geom.Point2D;

/**
 * Herramienta para hacer traveling sobre la pagina (desplazar el punto de vista).
 * @author Jorge Berjano
 */
public class HerramientaTraveling extends HerramientaBase {
    private Point2D posicionBase;
    private EditorDocumento editor;
    
    public HerramientaTraveling(EditorDocumento editor) {
        this.editor = editor;
    }

    @Override
    public boolean pulsado(MouseEvent e) {
        posicionBase = editor.getConversor().aUnidadesReales(e.getPoint());
        return false;
    }

    @Override
    public boolean arrastrando(MouseEvent e) {
        Point2D posicionActual = editor.getConversor().aUnidadesReales(e.getPoint());
        int dx = editor.getConversor().aPixeles(posicionActual.getX() - posicionBase.getX());
        int dy = editor.getConversor().aPixeles(posicionActual.getY() - posicionBase.getY());
        editor.desplazarVistaPixeles(dx, dy);        
        posicionBase = posicionActual;
        return true;
    }

    @Override
    public Cursor getCursor() {
        return Cursores.MANO.getCursor();
    }

    @Override
    public void pintarEnPixeles(Graphics2D graphics) {        
    }

}
